import Vue from 'vue'
import App from './App.vue'
//引入MockServer.js--Mock数据
import "@/mock/mockServe"
import { router } from './router'
//三级联动组件---全局组件  导航栏 TypeNav   ：方便在其他路由页面使用时不用引入可以自己复用
import TypeNav from '@/components/TypeNav/index.vue'
//将分页器注册成全局组件
import MyPagination from '@/components/Pagination/index.vue'
//第一个参数：全局组件的名字 第二个参数：哪一个组件
Vue.component(TypeNav.name, TypeNav)
Vue.component(MyPagination.name, MyPagination)
//引入仓库store
import store from './store'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
//统一接口api文件夹里面全部请求函数
//统一引入
import * as API from '@/api'
Vue.use(ElementUI); // 全局注册所有 Element 组件
//引入懒加载
// ✅ 引入 vue-lazyload 插件
import VueLazyload from 'vue-lazyload'
// 可以设置 loading 占位图和错误图
Vue.use(VueLazyload, {
  preLoad: 1.3,
  error: require('@/assets/images/error.png'), // 加载失败显示的图片
  loading: require('@/assets/images/loading.gif'), // 正在加载中显示的图片
  attempt: 1
})
//兄弟通信
Vue.prototype.$bus = new Vue() // 给所有组件添加一个全局的事件中心

Vue.config.productionTip = false
new Vue({
  render: h => h(App),
  beforeCreate() {
    //就是把他挂载在原型链上
    Vue.prototype.$API = API
  },
  router,
  store
}).$mount('#app')
